package com.ruoyi.basedata.service;

import com.ruoyi.basedata.domain.GoodsType;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.TableDataInfo;

/**
 * 商品类别Service接口
 *
 * @author wl
 * @date 2024-10-25
 */
public interface IGoodsTypeService {
    /**
     * 查询商品类别
     *
     * @param id 商品类别主键
     * @return 商品类别
     */
    public GoodsType selectGoodsTypeById(Integer id);

    /**
     * 查询商品类别列表
     *
     * @param goodsType 商品类别
     * @return 商品类别集合
     */
    public TableDataInfo selectGoodsTypeList(GoodsType goodsType);

    /**
     * 新增商品类别
     *
     * @param goodsType 商品类别
     * @return 结果
     */
    public AjaxResult insertGoodsType(GoodsType goodsType);

    /**
     * 修改商品类别
     *
     * @param goodsType 商品类别
     * @return 结果
     */
    public AjaxResult updateGoodsType(GoodsType goodsType);

    /**
     * 批量删除商品类别
     *
     * @param ids 需要删除的商品类别主键集合
     * @return 结果
     */
    public AjaxResult deleteGoodsTypeByIds(Integer[] ids);

    /**
     * 删除商品类别信息
     *
     * @param id 商品类别主键
     * @return 结果
     */
    public AjaxResult deleteGoodsTypeById(Integer id);

    AjaxResult checkGoodsTypeCode(String typeCode);

    AjaxResult selectGoodsTypeAllList();


}
